iT邦幫忙

2021 iThome 鐵人賽

DAY 26
0
自我挑戰組

HTML、 PHP CRUD 自我學習系列 第 26

第26天 - 文件審核系統(4)_刪除檔案的部分

  • 分享至 

  • xImage
  •  

刪除檔案的部分,首先要先把欄位列印出來
資料表一樣參考第23天的文章
https://ithelp.ithome.com.tw/articles/10270360

這次列印的部分會稍長一些
為了把"審核通過"文件的刪除按鈕給禁止使用,所以把資料表分成兩個部份來列印,
原本是想用 if echo 來做,可是因為語法或架構問題,不知該if什麼條件來禁用刪除。

<!-- 資料表1階 顯示 審核中、尚未通過 的檔案-->
<?php
 
if(isset($_SESSION['auth']))
    {
        $idd = $_SESSION['auth_user']['user_id'];
        
        //搜尋 符合你帳號,且非"審核通過"的文件
        //下面 ORDER BY 是排序而已
        $query = "SELECT * FROM document WHERE id = '$idd' AND doc_pass !='1' 
                 ORDER BY doc_pass DESC, doc_type ASC,doc_id DESC ";
    }
    $query_run = mysqli_query($con,$query);
?>
<!-- 資料表2階 -->
<?php
    if(isset($_SESSION['auth']))
    {
        $iddZ = $_SESSION['auth_user']['user_id'];
        //搜尋 符合你帳號,且是"審核通過"的文件,且之後刪除欄位那邊不列印按鈕
        $queryZ = "SELECT * FROM document WHERE id = '$iddZ' AND doc_pass ='1' 
                   ORDER BY doc_type ASC, doc_id DESC";
    }
    $query_runZ = mysqli_query($con,$queryZ);
?>

<!---檔案列表 1階--------------------------->
<table class="table table-sm table-bordered"style="text-align:center;">
    <thead style="text-align:center;">
        <tr style="text-align:center;">
            <th>檔案類別</th>
            <th>檔案預覽</th>
            <th>審核備註</th>
            <th>文件狀態</th>
            <th>刪除</th>
        </tr>
    </thead>
    <tbody>

        <?php
            if(mysqli_num_rows($query_run) > 0)
            {
                $DE = $_SESSION['auth_user']['user_id'];
                foreach($query_run as $row)
                {
        ?>
                        <tr>
                            <td style=";"><?php echo $row['doc_type']; ?></td>

                            <td style="max-width: 190px; font-size: 17px;">
                                <a href="index2.php?downl_file=<?php echo $row['stu_img'] ?>">
                                    <?php echo $row['stu_img']; ?>
                                </a><br>
                                <?php echo $row['doc_date']; ?>
                            </td> 

                            <td style="max-width: 200px;width: 200px">
                                <sub><?php echo $row['tea_mark']; ?></sub>

                            </td>
                            <td>
                                <?php 
                                    if($row['doc_pass'] =='1') 
                                    {
                                        echo '<font color="BLUE" style="font-weight:bold;">通過</font>';
                                    }
                                    elseif($row['doc_pass'] =='0') 
                                    {
                                        echo '<font color="RED" style="font-weight:bold;">不通過</font>'; 
                                    }
                                    else
                                    {
                                        echo '<font color="GRAY" style="font-weight:bold;">
                                                審核中
                                              </font>';
                                    }
                                ?>
                            </td>

                            <td>
                                <form method="POST">
                                    <input type="hidden" name="delete_id" value="<?php echo $row['doc_id']; ?>">
                                    <input type="hidden" name="del_stu_img" value="<?php echo $row['stu_img']; ?>">

                                    <button id="delete_btn"type="submit" name="delete_stu_img"
                                    class="badge badge-danger"
                                    onclick="javascript:return del();">
                                        刪除
                                    </button>
                                </form>            
                            </td>
                        </tr>
        <?php
            }
            }
            else
            {
            }
        ?>
    </tbody>

    <!---檔案列表 2階--------------------------->
    <tbody>
        <?php
            if(mysqli_num_rows($query_runZ) > 0)
            {
                foreach($query_runZ as $rowZ)
                {
        ?>
                        <tr>
                            <td style=" opacity: 0.7;"><?php echo $rowZ['doc_type']; ?></td>

                            <td style=" opacity: 0.7;max-width: 190px;">
                                <a href="index2.php?downl_file=<?php echo $rowZ['stu_img'] ?>">
                                    <?php echo $rowZ['stu_img']; ?>
                                </a><br>
                                <?php echo $rowZ['doc_date']; ?>
                            </td> 
                            <td style="max-width: 200px;width: 200px;opacity: 0.6;">
                                <sub><?php echo $rowZ['tea_mark']; ?></sub>
                            </td>
                            <td>
                                <?php 
                                    if($rowZ['doc_pass'] =='1') 
                                    {
                                        echo '<font color="BLUE" style="font-weight:bold;">通過</font>';
                                    }
                                    elseif($rowZ['doc_pass'] =='0') 
                                    {
                                        echo '<font color="RED" style="font-weight:bold;">不通過</font>'; 
                                    }
                                    else
                                    {
                                        echo '<font color="GRAY" style="font-weight:bold;">
                                                審核中...
                                              </font>';
                                    }
                                ?>
                            </td>

                            <td  style=" opacity: 0.7;">
                                --
                            </td>
                        </tr>
                    <?php
                }
            }
        ?>
    </tbody>
</table>

再來是刪除檔案的php (主要是下面的 unlink執行刪除,其餘是為了判斷刪除哪個)

<?php
/*刪除檔案...*/
if (isset($_POST['delete_stu_img'])) 
{
    $id = $_POST['delete_id'];
    $stu_img = $_POST['del_stu_img'];

    $query = "DELETE FROM document WHERE doc_id='$id' ";
    $query_run = mysqli_query($con,$query);

    if($query_run)
    {
        unlink("uploads/$DE/".$stu_img);
        $_SESSION['status'] ="檔案刪除成功!";
        setcookie("COOK01","", time()-1200);
            header('Location: index2.php');
    }
    else
    {
        $_SESSION['status'] ="檔案刪除失敗!";
            header('Location: index2.php');
    }
}
?>

因為很少寫程式,當初為了禁用刪除按鈕的判斷,就想了好久,最後是用很暴力的方法來解(不同搜尋條件)...
今天就先這樣,下次見。


上一篇
第25天 - 文件審核系統(3)_上傳、下載的部分
下一篇
第27天 - 文件審核系統(5)_審核端1
系列文
HTML、 PHP CRUD 自我學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言